"""

面试题:元素有哪些状态?
是否可见
是否可用
是否可选择

"""

"""
获取元素的信息:


"""

"""
driver.find_element(By.CSS_SELECTOR," ")
#id选择器
元素必须有id属性  语法:  #id属性值
#类(class)选择器
元素必须有class属性   语法: .class属性值
# 多个值任选其一
#标签选择器   --->tag_name
input  p html 等等

属性选择器
语法:
    [属性名=属性值]

层级选择器
父子   元素1 >  元素2
后代   元素1  元素2
相邻兄弟选择器    元素1+元素2  元素1必须在元素2的前面

伪类选择器  :开头

自学css的选择器



"""
import time

from selenium import webdriver
from selenium.webdriver.common.by import By

# 创建浏览器驱动对象
driver= webdriver.Edge()
#打开页面
driver.get("http://localhost:8081/regA.html")
# 用户名
ele_input=driver.find_element(By.CSS_SELECTOR,'#userA')
# ele_input.send_keys("admin")
# 是否可用   is_enabled()  True:元素可用  false:不可用
print(ele_input.is_enabled())
# 练习:  判断取消按钮是否可用

#是否可选择  主要用于 单选,复选 下拉框     答案: True:选中  false:没有选中
#判断
ele_danxuan=driver.find_element(By.CSS_SELECTOR,"#pga")
print(ele_danxuan.is_selected())


# 是否可见
# 不可见的元素可以正常的定位到,但是不能直接使用,这个时候我们需要把不可见元素变成可见
# 怎么变成可见?    在selenium有一个执行js(javaScript)的方法,去修改元素可见
ele_span=driver.find_element(By.CSS_SELECTOR,"#sp1")
js = 'document.getElementById("sp1").style.display="block";'
js1="arguments[0].style.display='block'" #通用js,把元素变成可见
driver.execute_script(js1,ele_span)

print("是否可见文本:",ele_span.text)
# print("是否可见文本:",ele_span.get_attribute("id"))


time.sleep(10)


#关闭浏览器驱动对象
driver.quit()

